package GUI;

import java.awt.Color;

import java.awt.Font;

import java.awt.EventQueue;
import java.awt.Label;
import java.awt.List;
import java.awt.SystemColor;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;

import DBConnection.mysqlconnection;

public class TestStart2 extends JFrame{
	static JFrame frame;
	JMenuItem mntmKundenAnlegen = new JMenuItem("Kunden anlegen");
	JMenuItem mntmObjekteAnlegen = new JMenuItem("Objekte anlegen");
	JMenuItem mntmKundenAnzeigen = new JMenuItem("Kunden anzeigen");
	JMenuItem mntmObjekteAnzeigen = new JMenuItem("Objekte anzeigen");
	JPanel menuPanel = new JPanel();
	static JPanel panel_Start = new JPanel();

	Objekte_anzeigen oa = new Objekte_anzeigen();
	Kunden_anzeigen ka = new Kunden_anzeigen();
	Objekte_anlegen_neu oab_neu = new Objekte_anlegen_neu();
	Kunden_anlegen_bearbeiten kab = new Kunden_anlegen_bearbeiten();

	public static void main(String[] args) {
		mysqlconnection.printNameList();
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					TestStart2 window = new TestStart2();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	public TestStart2() {
		initialize();
		Startbildschirm.starte();
		this.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}

	private void initialize() {
		registerEvents();
// Erzeugung des Frames mit den MenuItems
		frame = new JFrame();
		frame.setBounds(100, 100, 800, 600);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		frame.getContentPane().add(panel_Start);

		// JMenuItem werden festgelegt
		mntmKundenAnlegen.setBounds(10, 125, 123, 22);
		frame.getContentPane().add(mntmKundenAnlegen);

		mntmObjekteAnlegen.setBounds(10, 187, 121, 22);
		frame.getContentPane().add(mntmObjekteAnlegen);

		mntmKundenAnzeigen.setBounds(10, 95, 123, 22);
		frame.getContentPane().add(mntmKundenAnzeigen);

		mntmObjekteAnzeigen.setBounds(10, 158, 121, 22);
		frame.getContentPane().add(mntmObjekteAnzeigen);

	}

	class MyMouseAdapter extends java.awt.event.MouseAdapter {
		public void mouseClicked(java.awt.event.MouseEvent event) {
			Object object = event.getSource();
			// MenuItem aktion
			if (mntmKundenAnlegen == object) {
				kundeAnlegenPnl();
			}

			if (mntmObjekteAnlegen == object) {
				objektAnlegenPnl();
			}
			if (mntmKundenAnzeigen == object) {
				kundeAnzeigenPnl();
			}
			if (mntmObjekteAnzeigen == object) {
				objektAnzeigenPnl();
			}
		}
// PanelErzeugung
		private void objektAnzeigenPnl() {
			panelAufFalseSetzen();
			frame.getContentPane().add(oa);
			oa.setBounds(146, 0, 638, 573);
			oa.setVisible(true);
		}

		private void kundeAnzeigenPnl() {
			panelAufFalseSetzen();
			frame.getContentPane().add(ka);
			ka.setBounds(146, 0, 638, 573);
			ka.setVisible(true);
		}

		private void objektAnlegenPnl() {
			panelAufFalseSetzen();
			frame.getContentPane().add(oab_neu);
			oab_neu.setBounds(146, 0, 638, 573);
			oab_neu.setVisible(true);
		}

		private void kundeAnlegenPnl() {
			panelAufFalseSetzen();
			kab.setVisible(true);
			kab.setBounds(146, 0, 638, 573);
			frame.getContentPane().add(kab);
		}
	}
//Panel wird auf false gesetzt
	public void panelAufFalseSetzen() {
		if (ka.isVisible() == true) {
			ka.setVisible(false);
		}
		if (oa.isVisible() == true) {
			oa.setVisible(false);
		}
		if (oab_neu.isVisible() == true) {
			oab_neu.setVisible(false);
		}
		if (panel_Start.isVisible() == true) {
			panel_Start.setVisible(false);
		}
		if (kab.isVisible() == true) {
			kab.setVisible(false);
		}
	}

	private void registerEvents() {
		MyMouseAdapter mouse = new MyMouseAdapter();
		mntmKundenAnlegen.addMouseListener(mouse);
		mntmObjekteAnlegen.addMouseListener(mouse);
		mntmKundenAnzeigen.addMouseListener(mouse);
		mntmObjekteAnzeigen.addMouseListener(mouse);
	}
}
